package com.css.fxfzdzzh.modules.eqLandslide.lawAnalysis.repository;

import com.css.fxfzdzzh.modules.eqLandslide.lawAnalysis.entity.*;
import com.css.fxfzdzzh.modules.eqLandslide.lawAnalysis.vo.BufferAreaVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: fxfzdzzh
 * @Author: lhl
 * @CreateDate: 2023/2/27 14:57
 */
public interface LawAnalysisRepository {

    BigDecimal getAreaByGeom(String geomText);

    BigDecimal getAreaDegreeByGeom(String geomText);

    Boolean getSTIntersects(String geomText, BigDecimal longitude, BigDecimal latitude);
    Boolean getSTIntersects(String geomText, String geomText1);

    BigDecimal getDistance(String geomText, BigDecimal longitude, BigDecimal latitude);
    BigDecimal getDistance(String geomText, String point);

    String getStUnion(Object object1, Object object2);

    BufferAreaVO getBufferByGeom(String geomText, String geomText1, int number1, int number2);

    BufferAreaVO getBufferByGeomBuffer(String bufferGeomText, String geomText, String geomText1, int number1, int number2);

    String getBufferByGeomMeter(String geomText,int meter);

    String getSTIntersection(String geomText, String geomText1);

    String getSTCentroid(String geomText);

    int save0(DzzhSlideParam entity);
    int save1(DzzhSlideResultIntensity entity);
    int save2(DzzhSlideResultFault entity);
    int save3(DzzhSlideResultTera entity);
    int save4(DzzhSlideResultSlope entity);
    int save5(DzzhSlideResultAspect entity);
    int save6(DzzhSlideResultDrainage entity);
    int save7(DzzhSlideResultLithology entity);

    DzzhSlideParam getDzzhSlideParamByUserId(String userId,String type);

    int delete0(String userId,String type);
    int delete1(String dspId);
    int delete2(String dspId);
    int delete3(String dspId);
    int delete4(String dspId);
    int delete5(String dspId);
    int delete6(String dspId);
    int delete7(String dspId);

    List<DzzhSlideResultIntensity> getByDspId1(String dspId);
    List<DzzhSlideResultFault> getByDspId2(String dspId);
    List<DzzhSlideResultTera> getByDspId3(String dspId);
    List<DzzhSlideResultSlope> getByDspId4(String dspId);
    List<DzzhSlideResultAspect> getByDspId5(String dspId);
    List<DzzhSlideResultDrainage> getByDspId6(String dspId);
    List<DzzhSlideResultLithology> getByDspId7(String dspId);

    List<Map<String,Object>> getByTableName(String tableName);
    int dropTable(String tableName);

}
